package cn.dida.service;

import java.util.List;
import java.util.Map;

import cn.dida.model.LgsNode;
import cn.dida.model.Pageable;

/**
 * <p>节点管理 接口</p>
 * @auther lisha
 * @date 2017-2-8 14:30:16
 */
public interface LgsNodeService {
	/**
	 * 新增节点
	 * @param lgsNode 节点实体类
	 * @return 返回受影响的记录行数
	 * @date 2017-2-8 14:31
	 */
	Boolean insertLgsNode (LgsNode lgsNode);
	
	/** 修改节点（仅允许修改名称和状态）
	 * @param companyId 公司id
	 * @param lgsNode 节点实体类
	 * @return 返回受影响的记录行数
	 * @date 2017-2-8 14:32
	 */
	public Boolean updateLgsNode (int companyId, LgsNode lgsNode);
	
	/**
	 * 节点管理列表
	 * @param name 节点名称
	 * @return 节点列表
	 * @date 2017-2-8 14:33
	 */
	public Pageable<LgsNode> query (String name, Integer type, Integer sta, int companyId, int page);

	/**
	 * 根据id查询单个节点管理
	 * @param id 节点id
	 * @param companyId 公司id
	 * @return 单个节点
	 * @date 2017-2-8 14:34
	 */
	public LgsNode getLgsNodeById (int id, int companyId);
	
	/**
	 * 判断节点是否已存在
	 * @param name 节点名称
	 * @return boolean true存在，false不存在
	 * @date 2017-2-8 14:52
	 */
	public Boolean isExistsNode (int companyId, String name);
	
	/**
     * 获取正常状态的节点
     * @param companyId 公司id
     * @param state 状态，1正常，0不正常
     * @return List<LgsNode>
     */
    public List<LgsNode> getNodeList(Integer companyId, int state);

	/**
	 * 获取该公司未被关联的  erp适用单据表
	 * @param companyId
	 * @return
	 */
	public List<Map<String,Object>> getBiztype(Integer companyId);

	/**
	 *获取节点关联的 ERP适用单据
	 * @param nodeId
	 * @return
	 */
	public List<Map<String,Object>> getBiztypeByNode(Integer nodeId,Integer companyId);
}
